// pages/wxLogin/wxLogin.js
var noLogin = require("../template/noLogin.js");
const app = getApp();
import {
  u_Reg
} from '../../config/tool.js';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    hasUserInfo: true,
    once: true, // 限制次数
    show: false, // 是否展示弹窗
    code: '', // 验证码
    tel: '', // 手机号
    note: '发送验证码', // 提示
    time: 60, // 倒计时时间
  },

  onLoad: function (options) {
    if (options.from) {
      this.setData({
        from: options.from
      })
    }
  },

  // 输入手机号
  initTel(e) {
    this.setData({
      tel: e.detail.value
    })
  },

  // 输入验证码
  initCode(e) {
    this.setData({
      code: e.detail.value
    })
  },

  // 获取验证码
  getCode() {
    if (this.data.once) {
      if (!this.data.tel) {
        app.$tip('请输入手机号!');
        return
      }
      if (!u_Reg(this.data.tel, 'phone')) {
        app.$tip('请输入正确的手机号!');
        return
      }

      app.loading();
      let that = this;
      that.setData({
        once: false
      })
      wx.request({
        url: app.baseURL + 'sms/send',
        data: {
          mobile: that.data.tel,
          bindmobile: 'bindmobile'
        },
        success(data) {
          let res = data.data;
          wx.hideLoading();
          if (res.code == 1) {
            app.$tip(res.msg)
            that.cutDown();
          } else {
            app.$tip(res.msg);
            that.setData({
              once: true
            })
          }
        }
      })
    } else {
      app.$tip('验证码已发送!');
    }
  },

  // 倒计时
  cutDown() {
    let time = this.data.time;
    let timmer = setInterval(() => {
      if (time > 0) {
        time--;
        this.setData({
          note: time + ' s'
        })
      } else {
        this.setData({
          time: 60,
          note: '发送验证码',
          once: true
        })
        clearInterval(timmer)
      }
    }, 1000)
    this.setData({
      timmer: timmer
    })
  },

  // 确定
  finished() {
    if (!this.data.tel) {
      app.$tip('请输入手机号!');
      return
    }
    if (!this.data.code) {
      app.$tip('请输入验证码!');
      return
    }

    app.loading();
    let that = this;
    wx.request({
      url: app.baseURL + 'user/bindMobile',
      data: {
        token: that.data.userId,
        mobile: that.data.tel,
        code: that.data.code
      },
      success(data) {
        console.log(data,'绑定手机')
        let res = data.data;
        wx.hideLoading();
        if (res.code == 1) {
          app.$tip(res.msg);

          // 存储用户信息
          app.globalData.userId = that.data.userId;
          wx.setStorageSync('userId', that.data.userId);

          setTimeout(() => {
            that.setData({
              show: false,
            })
            wx.navigateBack();
          }, 1500)
        } else {
          app.$tip(res.msg);
        }
      }
    })
  },


  //用户点击按钮发起授权
  WeChatUserInfo: function (e) {
    console.log(e)
    wx.showLoading({
      title: '请稍后...',
    })
    wx.getUserProfile({
      desc:'用于展示信息',
      success(data) {
        console.log(data)
        wx.login({
          success:(res)=>{
            console.log(res)
            if(res.code){
              wx.request({
                url: app.baseURL + 'user/wxlogin',
                method: "POST",
                data: {
                  code: res.code,
                  invitation_code: wx.getStorageSync('inviteCode'),
                  nickname: data.userInfo.nickName,
                  headimgurl: data.userInfo.avatarUrl,
                  sex: data.userInfo.gender
                },
                success(suc) {
                  console.log('登录',suc)
                  
                  let infos = suc.data;
                  if(infos.code == 1){
                    console.log('用户token',infos.data.token);
                    app.globalData.userId = infos.data.token;
                    wx.setStorageSync('userId', infos.data.token);
                    console.log(wx.getStorageSync('userId'))
      
                    // 清除邀请信息
                    wx.removeStorageSync('inviteCode');
                    setTimeout(() => {
                      wx.switchTab({
                        url: '/pages/home/home',
                      })
                    }, 1000);
                    // typeof callback == 'function' && callback();
                  }else{
                    app.$tip(infos.msg);
                  }
                  wx.hideLoading();
                }
              })
            }
          }
        })
        
        
      }
    })
    // if (e.detail.userInfo) {
    //   noLogin.showNoLogin(this).then(() => {
    //     let that = this;
    //     wx.request({
    //       url: app.baseURL + 'Mycenter/my_center',
    //       data: {
    //         token: wx.getStorageSync('userId') ? wx.getStorageSync('userId') : ''
    //       },
    //       success(data) {
    //         let res = data.data;
    //         wx.hideLoading();
    //         if (res.code == 1) {
    //           if (res.data.info) {
    //             that.setData({
    //               show: false,
    //               userId: wx.getStorageSync('userId')
    //             })
    //             app.globalData.userId = that.data.userId;
    //             wx.setStorageSync('userId', that.data.userId);
    //             setTimeout(() => {

    //               wx.navigateBack();
    //             }, 1500)
    //           }
    //           if (res.data.info && !res.data.info.mobile) {
    //             that.setData({
    //               show: true,
    //               userId: wx.getStorageSync('userId'),
    //             })

    //             // 没有绑定手机号删除存储的信息
    //             wx.removeStorageSync('userId');
    //             app.globalData.userId = '';

    //           }else{
    //             wx.navigateBack();
    //           }
    //         }
    //       }
    //     })
    //   });
    // } else {
    //   wx.showModal({
    //     title: '温馨提示',
    //     content: '拒绝微信授权将无法使用部分功能',
    //     success: res => {
    //       if (res.confirm) {

    //       }
    //     }
    //   })
    // }
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    clearInterval(this.data.timmer)
  },
})